// 管理员获取分类列表云函数
exports.main = async (event, context) => {
  try {
    // 检查管理员权限
    // const adminId = context.uid;
    // if (!adminId) {
    //   return {
    //     code: 401,
    //     message: '需要管理员权限'
    //   };
    // }
    
    const db = uniCloud.database();
    const _ = db.command;
    
    // 查询所有分类
    const categoriesRes = await db.collection('categories')
      .orderBy('createTime', 'desc')
      .get();
    
    const categories = categoriesRes.data;
    
    // 为每个分类统计壁纸数量
    const categoriesWithCount = await Promise.all(
      categories.map(async (category) => {
        const countRes = await db.collection('wallpapers')
          .where({
            categoryId: category._id
          })
          .count();
        
        return {
          ...category,
          wallpaperCount: countRes.total
        };
      })
    );
    
    return {
      code: 0,
      message: '获取分类成功',
      data: categoriesWithCount
    };
    
  } catch (error) {
    console.error('获取分类列表失败:', error);
    return {
      code: 500,
      message: '获取分类失败，请稍后重试'
    };
  }
};